(1) Field of the Invention
The present invention relates to a video codec which performs a high-speed data transfer when decoding a bitstream or encoding a video signal according to the video encoding method such as the MPEG standard.
(2) Description of the Related Art
In recent years, digital video devices that employ the widely used international video encoding standards, such as MPEG (Moving Picture Experts Group), JPEG (Joint Photographic Experts Group), and H. 264, have been introduced commercially one after another. Such a digital video device includes a system LSI on which a video encode/decode processing circuit called a codec is integrated. The system LSI which integrates the video encode/decode processing circuit is provided with a CPU (Central Processing Unit), an SRAM (Static Random Access Memory), a DMAC (Direct Memory Access Controller), and a circuit dedicated to video processing (see a reference literature [Ref1] described below, for example).
[Ref1] “Database of Hyoujun Gijutsu Shu (Standard Technologies) (Layout of system LSI): LSI for picture processing/LSI for data encoding”, [online], Japan Patent Office, searched on Aug. 4, 2004.
The following is an explanation about a video codec system having a system LSI that integrates a video encode/decode processing circuit.
FIG. 1 is a block diagram showing a conventional video codec system. As shown in this figure, a video codec system 10 is composed of a main memory 11, a video codec 12, an encoded-video recorder 13, and a video I/O unit 14.
The main memory 11 is connected to the video codec 12 via an external bus, and is used as a memory area for storing work data generated when the video codec 12 decodes a bitstream or encodes a video signal. Here, a “bitstream” refers to encoded data which is obtained by encoding a video signal.
The whole of the video codec 12 is integrated on the system LSI, and is connected to the main memory 11 via a DRAM bus, to the encoded-video recorder 13 via an interface, and to the video I/O unit 14 via another video I/O interface. After encoding a video signal inputted from the video I/O unit 14, the video codec 12 writes the encoded data into the encoded-video recorder 13. Also, to do it the other way around, the video codec 12 decodes the encoded data read from the encoded-video recorder 13 and outputs the decoded data to the video I/O unit 14.
The encoded-video recorder 13 is an external encoded-data recorder, such as an HDD (Hard Disk Drive), a DVD, or a flash memory card. The video I/O unit 14 is an external video I/O unit, such as a display or a video camera.
The main memory 11 includes a frame memory 11a, a VBV (Video Buffering Verifier) buffer 11b, and a work area 11c. The frame memory 11a is a storage area that stores a video signal of a few frames. The VBV buffer 11b is a storage area that stores the bitstream encoded by the video codec 12 and the bitstream read from the encoded-video recorder 13.
In the video codec system 10 having the construction as described so far, the video codec 12 expands work data in the main memory 11 when decoding a bitstream or encoding a video signal.
According to the above conventional technology, the CPU, the DMAC, and the other bus masters have to access the main memory 11. This causes conflicts among these devices competing for access to the main memory 11, thereby degrading the access performance. In a quest to improve the performance of the video codec system in its entirety, the bottleneck is the data transfer performed between the video codec and the main memory.
As a work area, a DRAM (Dynamic Random Access Memory) is normally used as a main memory for its larger storage per unit area as compared with an SRAM. Using the DRAM, however, refresh requirements, access conflicts, and page mishits may occur and, for this reason, the access time and the number of waits are variable. As a matter of course, the access time is longer and the access speed is slower in comparison with the case of the SRAM. If the SRAM is used instead of the DRAM in order to improve the access performance, there would be a problem that the cost of the whole video codec increases.
With this being the situation, the challenge is to realize a cost reduction on a system LSI, a reduction in power requirements, and a flexible processing method using software.
The present invention was conceived in view of the problem described above, and has an object of providing a video codec that, without an increase in cost, reduces the frequency of access to the main memory and raises system performance.